import { ILinkListNode } from '../constdata/ILinkListNode';
/**
 * 使用数组创建单项链表
 * @param arr 数组
 */
export const createLinkList = (arr: Array<number>) => {
  if (!arr) throw new Error('arr is not an Array!');
  // 单向链表的最后一项的next指针是null
  // 缓存数组长度
  const len = arr.length;

  let curNode: ILinkListNode = {
    val: arr[len - 1]
  };
  if (len === 1) return curNode;
  // 从后向前推,最后推到单向链表的头部
  for (let index = len - 2; index >= 0; index--) {
    curNode = {
      val: arr[index],
      next: curNode
    };
  }
  return curNode;
};


